____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
XMLHttpRequest
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
XMLHttpRequest (kurz: XHR) ist eine Programmierschnittstelle fΓΌr JavaScript zum Γbertragen von Daten ΓΌber HTTP. Entgegen dem Namen muss es sich bei diesen Daten nicht um XML handeln. XMLHttpRequest bildet einen Grundbaustein der Ajax-Technik.
XMLHttpRequest ermΓΆglicht es einem Skript einer Webseite, Daten dynamisch vom Webserver abzurufen, ohne dass dazu die HTML-Seite neu geladen werden mΓΌsste. Dies war zuvor nur durch den Einsatz unsichtbarer HTML-Frames oder IFrames oder mit dynamisch nachgeladenen Skript-Dateien mΓΆglich.cite-ref-ap-1-0[1] Da beim XMLHttpRequest-Verfahren Daten asynchron verarbeitet werden kΓΆnnen, muss ein Skript nicht warten, bis die Anfrage beantwortet ist, sondern kann sich so lange anderen Aufgaben zuwenden.
Es kΓΆnnen HTTP-Verfahren wie Anfragemethoden, Authentifizierung und Caching verwendet werden. Wenn eine Anfrage XML-Daten liefert, kann XMLHttpRequest diese alternativ als Text oder als DOM-Baumstruktur zurΓΌcksenden. Letzteres eignet sich beispielsweise dazu, mit Webservices zu kommunizieren.
Mit der EinfΓΌhrung von Web Workers wurde XHR durch die Fetch API abgelΓΆst.cite-ref-2[2]cite-ref-3[3]
Contents
β’ Geschichte
β’ Einzelnachweise
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Geschichte
Die XMLHttpRequest-Technik wurde ursprΓΌnglich von Microsoft entwickelt und stand im Internet Explorer ab Version 5.0 als ActiveX-Objekt zur VerfΓΌgung. Viele Webbrowser unterstΓΌtzen diese API, neben dem Internet Explorercite-ref-ieidl-4-0[4] (ab Version 7 als XMLHttpRequest) sind das Mozilla und alle anderen Gecko-Derivate (ab Version 1.0),cite-ref-mozidl-5-0[5] Opera (ab Version 7.6 Beta) und Apple Safari (ab Version 1.2),cite-ref-safidl-6-0[6] Konqueror und alle anderen KHTML-Derivate.
Wie aus den einzelnen Schnittstellenbeschreibungen der verschiedenen XMLHttpRequest-Implementierungen hervorgeht, sind diese nicht vollstΓ€ndig zueinander kompatibel. Aus diesem Grund wurde im Dezember 2012 eine einheitliche Definition fΓΌr das XMLHttpRequest-Objekt durch das W3C zur Standardisierung vorgeschlagen.cite-ref-w3cidl-7-0[7]
Codebeispiel (JavaScript)
Das folgende Beispiel ruft eine Ressource auf derselben Domain ΓΌber XMLHttpRequest auf und gibt den Inhalt in einem Meldungsfenster aus. Wenn der Aufruf der Ressource fehlschlΓ€gt, wird keine Meldung ausgegeben:
var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
} catch(e) {
// Fehlerbehandlung, wenn die Schnittstelle vom Browser nicht unterstΓΌtzt wird.
}
if (xmlHttp) {
xmlHttp.open('GET', 'beispiel.xml', true);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
alert(xmlHttp.responseText);
}
};
xmlHttp.send(null);
}
XMLHttpRequest Level 2
XMLHttpRequest Level 2 war ein Arbeitsentwurfs (working draft) beim W3C fΓΌr eine Erweiterung der Spezifikation um u. a. domain-ΓΌbergreifende Abfragen und die UnterstΓΌtzung von DatenstrΓΆmen. Diese Erweiterungen sind seit 2012 in den Standard aufgenommen worden.cite-ref-9[9]cite-ref-0-8-1[8]
Einzelnachweise
cite-note-ap-11. β On-Demand Javascript. In: ajaxpatterns.org. 30. Juli 2014, archiviert vom Original am 24. Juli 2015; abgerufen am 2. Dezember 2023 (englisch).
cite-note-22. β XMLHttpRequest API. In: developer.mozilla.org. Mozilla, 8. November 2023, abgerufen am 30. November 2023 (englisch).
cite-note-33. β Fetch API. In: developer.mozilla.org. Mozilla, 1. April 2023, abgerufen am 30. November 2023 (englisch).
cite-note-ieidl-44. β IXMLHTTPRequest Members. In: learn.microsoft.com. Microsoft, 27. Oktober 2016, abgerufen am 2. Dezember 2023 (englisch, Schnittstellenbeschreibung des XMLHttpRequest-Objekts fΓΌr den IE).
cite-note-mozidl-55. β XMLHttpRequest. In: developer.mozilla.org. Mozilla, 22. November 2023, abgerufen am 2. Dezember 2023 (englisch, Schnittstellenbeschreibung des XMLHttpRequest-Objekts fΓΌr Mozilla).
cite-note-safidl-66. β Dynamic HTML and XML: The XMLHttpRequest Object. In: developer.apple.com. Apple, 24. Juni 2005, archiviert vom Original am 25. September 2011; abgerufen am 2. Dezember 2023 (englisch, Schnittstellenbeschreibung des XMLHttpRequest-Objekts fΓΌr Safari).
cite-note-w3cidl-77. β Anne van Kesteren et al.: XMLHttpRequest Level 1. In: w3.org. World Wide Web Consortium, 6. Oktober 2016, abgerufen am 2. Dezember 2023 (englisch, Schnittstellenbeschreibung des XMLHttpRequest-Objekts vorgeschlagen durch das W3C).
cite-note-0-88. β XMLHttpRequest Standard. 1.1. Specification history. In: xhr.spec.whatwg.org. Web Hypertext Application Technology Working Group (WHATWG), 27. September 2023, abgerufen am 2. Dezember 2023 (englisch).
cite-note-99. β Anne van Kesteren et al.: XMLHttpRequest Level 2. In: w3.org. World Wide Web Consortium, 18. November 2014, abgerufen am 2. Dezember 2023 (englisch).